function init(){
    submitUpdateForm('.btn-submit-update', evtAfterSubmitCategory);
    showPanelUpdate('.item-list', getUpdateRow);
    changeRowState();
}

function getUpdateRow(row){
    var html = row.parents('table').find('tr.tr-temp').clone().removeClass('hidden').removeClass('tr-temp').addClass('tr-update-temp');
    html.find('#input-category-title').val(row.find('td.input-category-title a.category-title').text().trim());
    html.find('#input-category-order').val(row.find('td.input-category-order').html().trim());
    html.find('#input-category-cate').val(row.find('td.input-category-cate').attr('data-cate-id'));
    html.find('#input-category-slug').val(row.find('td.input-category-title a.category-slug').attr('data-slug').trim());
    html.find('#input-category-delete-flg').prop('checked', row.find('td.input-category-flg input.input-category-delete-flg').is(':checked'));
    html.find('#input-category-id').val(row.attr('data-id'));
    return html;
}

function evtAfterSubmitCategory(data){
    var trEditting = $('tr.editting');
    var trTempUpdate = $('tr.tr-update-temp');
    if(data.update_url != undefined){
        window.location.href = data.update_url
    }
    if(trEditting.length ==0 || trTempUpdate.length==0){
        window.history.replaceState({}, "", data.back_href);
        return;
    }
    trEditting.find('td.input-category-title a.category-title').html(trTempUpdate.find('#input-category-title').val());
    trEditting.find('td.input-category-title a.category-title').attr('href', data.back_href);
    trEditting.find('td.input-category-order').html(trTempUpdate.find('#input-category-order').val());
    trEditting.find('td.input-category-cate').attr('data-cate-id', trTempUpdate.find('#input-category-cate').val());
    trEditting.find('td.input-category-cate a').attr('href', trTempUpdate.find('#input-category-cate option:selected').attr('data-href'));
    trEditting.find('td.input-category-cate a').html(trTempUpdate.find('#input-category-cate option:selected').text().trim());
    trEditting.find('td.input-category-title a.category-slug').attr('data-slug', trTempUpdate.find('#input-category-slug').val());
    trEditting.find('td.input-category-title a.category-slug').attr('href', data.front_href);
    trEditting.find('td.input-category-flg input.input-category-delete-flg').prop('checked', trTempUpdate.find('#input-category-delete-flg').is(':checked'));
}

function changeRowState(){
    $('td.input-category-flg input.input-category-delete-flg').change(function(){
        var url = $(this).parents('table').attr('data-href');
        var value = $(this).is(':checked')==true?1:0;
        var name = $(this).attr('data-name');
        var category = {id: $(this).parents('tr').attr('data-id')};
        category[name] = value;
        changeState(url, {category: category});
    });
}